﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Summary description for MejorasBLL
/// </summary>
public class MejorasBLL
{
	public MejorasBLL()
	{
		//
		// TODO: Add constructor logic here
		//
	}

    public static Mejoras rowToDto(dsMejoras.MejorasDSRow MejorasRow)
    {

        Mejoras objMejoras = new Mejoras();
        objMejoras.IMejoras_id = MejorasRow.iMejoras_id;
        objMejoras.DEscripcion = MejorasRow.Descripcion;
        objMejoras.IActivoMejorado = MejorasRow.iActivoMejorado;
        objMejoras.IActivoFijoMejora = MejorasRow.iActivoFijoMejora;


        return objMejoras;
    }
    public static List<Mejoras> GetAll()
    {
        List<Mejoras> ListaDeMejoras = new List<Mejoras>();
        try
        {



            dsMejorasTableAdapters.MejorasDSTableAdapter MejorasAdapter
                = new dsMejorasTableAdapters.MejorasDSTableAdapter();
            dsMejoras.MejorasDSDataTable MejorasDataTable = MejorasAdapter.GetAll_Mejoras();

            foreach (dsMejoras.MejorasDSRow row in MejorasDataTable)
            {
                Mejoras objMejoras = rowToDto(row);
                ListaDeMejoras.Add(objMejoras);
            }
        }
        catch (Exception ex)
        {

            //Manejar Excepcion
        }
        return ListaDeMejoras;
    }
    public static Mejoras GetByPK(int pk)
    {

        try
        {

            dsMejorasTableAdapters.MejorasDSTableAdapter MejorasAdapter
                = new dsMejorasTableAdapters.MejorasDSTableAdapter();
            dsMejoras.MejorasDSDataTable MejorasDataTable
                = MejorasAdapter.GetByPk_Mejoras(pk);

            Mejoras objMejoras = rowToDto(MejorasDataTable[0]);
            return objMejoras;
        }
        catch (Exception ex)
        {

            //Manejar Excepcion
        }
        return null;
    }

    public static int InsertarMejoras(string Descripcion, int iActivoMejorado, int iActivoFijoMejora)
    {

        try
        {

            dsMejorasTableAdapters.MejorasDSTableAdapter MejorasAdapter
                = new dsMejorasTableAdapters.MejorasDSTableAdapter();


            int? nuevaPK = 0;

            MejorasAdapter.Insertar_Mejoras(Descripcion, iActivoMejorado,iActivoFijoMejora, ref nuevaPK);

            return (int)nuevaPK;
        }
        catch (Exception ex)
        {

            //Manejar Excepcion
        }
        return 0;
    }

    public static bool ModificarMejoras(int pk, string Descripcion,int iActivoMejorado, int iActivoFijoMejora)
    {

        try
        {

            dsMejorasTableAdapters.MejorasDSTableAdapter MejorasAdapter
                = new dsMejorasTableAdapters.MejorasDSTableAdapter();

            MejorasAdapter.Modificar_Mejoras(pk, Descripcion, iActivoMejorado, iActivoFijoMejora);


            return true;
        }
        catch (Exception ex)
        {

            //Manejar Excepcion
        }
        return false;
    }

    public static bool EliminarMejoras(int pk)
    {

        try
        {

            dsMejorasTableAdapters.MejorasDSTableAdapter MejorasAdapter
                = new dsMejorasTableAdapters.MejorasDSTableAdapter();

            MejorasAdapter.Eliminar_Mejoras(pk);


            return true;
        }
        catch (Exception ex)
        {

            //Manejar Excepcion
        }
        return false;
    }
}